package models;




/**
 *
 * @author KGB
 */
public class Result {
    int gracze; // liczba graczy
    int [][] result ;
    int [] czyMax = new int [5];
    String winner;
    
    Result(int gracze){
        this.gracze=gracze;
        result = new int [gracze][10];
    }
   
   
    
    void wypelnij (int tab[],int gracz){// wypelnienie tablicy dwuwmiarowej tablicami z informacja o kartach
        for(int i=0;i<10;i++){
            result[gracz][i]=tab[i];
        }    
    }
    
     void winner(){ // szukanie zwyciescy 
     winner="";
     int lmax=0; // liczba maxow
     int max=0; // maxymalna wartosc 
     for(int j=0;j<9;j++){
        for(int i=0;i<gracze;i++){
            if((czyMax[i]==1)||(j==0)){ // przeszukiwanie wartosci maxymalnej jednego rzedu tablicy dwuwymiarowej 
                if(max<result[i][j]){ // tylko te elementy ktore w poprzednim parametrze byl maxymalne
                    max=result[i][j]; // np dwie osoby mialy pare pozniej sprwdzam wartosc pary ewentualnie wartosc kart wolnych 
                }						// (kolejne j-oty)
            }
        }
       
        
        for(int i=0;i<gracze;i++){ // petla sprawdza liczbe wartosci maxymalnych (np kilka osob mialo trojke)
            if(result[i][j]==max){
                lmax++; // 
                czyMax[i]=1;
            }
        }
        if(lmax==1){// jezeli jest jedna wartosc maxymalna, zwyciesca jest juz okreslony
             for(int i=0;i<gracze;i++){
                if(result[i][j]==max){
                	winner = ""+(i);
                	System.out.println("Wygral gracz nr :"+winner);   
                	System.out.println("");
                }
             }
             break;
        }
        else if((j==8)&&(lmax!=1)){ // ostatni parametr porownania i kilku wygranych (remis)
        	for(int i=0;i<gracze;i++){
                if(result[i][j]==max){
                	winner=winner+" "+(i+1);
                }
             }
        	 System.out.println("Wygral gracz nr :"+winner); 
             break;
        }
        else{
            lmax=0;
            max=0;
        }    
    }
    
    
    }
}

/*
konrad:  pierwszy element tablicy to stopien (0-8 gdzie 0 to nic 8 to poker)
kazda kolumna to inny gracz
pierwszy wiersz to stopien
Przyklad:
mam fula
stopien to 5
drugi element to informacja jaka mam trojke
reszta elementow to zera
bo sa juz nie istotne
jak nie masz nic
to pierwszy elelment to stopien
czyli 0
reszta posortowane karty

to jest tak ze najpierw porownuje stopnie
a jezeli sa takie same
to porownuje 
np. w przypadku fula trojke


jak masz dwie pary takie same
to porownuje na poczatku jedna pare (wyzsza)
pozniej nizsza
a pozniej piata karte

TESTY TODO:
 metoda sortuj w klasie result i ewnetualnie te co szukaca co masz
kolor strit
i licznik
w klasie hand*/